package com.gpframework.module.wages.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import javax.validation.constraints.*;

import java.util.Date;
import java.math.BigDecimal;

/**
 * @ClassName GzMonthlyPickupAdd
 * @Author gpframework
 * @Date 2024-01-19
 * @Version 1.0.0
 * @Description 拿货月度Add对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GzMonthlyPickupAdd {
    private static final long serialVersionUID = 1L;

    /** 月份 */
    @JsonFormat(pattern = "yyyy-MM")
    @ApiModelProperty("月份")
    private Date month;

    /** 单数 */
    @ApiModelProperty("单数")
    private Long singular=0L;

    /** 单数单价 */
    @ApiModelProperty("单数单价")
    private BigDecimal singularUnitPrice=new BigDecimal(0);

    /** 单数金额 */
    @ApiModelProperty("单数金额")
    private BigDecimal singularAmount=new BigDecimal(0);

    /** 条数 */
    @ApiModelProperty("条数")
    private Long numberOfItems=0L;

    /** 条数单价 */
    @ApiModelProperty("条数单价")
    private BigDecimal numberOfItemsPerUnitPrice=new BigDecimal(0);

    /** 条数金额 */
    @ApiModelProperty("条数金额")
    private BigDecimal numberOfItemsAndAmount=new BigDecimal(0);

    /** 补贴 */
    @ApiModelProperty("补贴")
    private BigDecimal subsidy=new BigDecimal(0);

    /** 补贴单价 */
    @ApiModelProperty("补贴单价")
    private BigDecimal subsidyUnitPrice=new BigDecimal(0);

    /** 补贴金额 */
    @ApiModelProperty("补贴金额")
    private BigDecimal subsidyAmount=new BigDecimal(0);

    /** 休假补贴 */
    @ApiModelProperty("休假补贴")
    private BigDecimal vacationAllowance=new BigDecimal(0);

    /** 扣减补贴 */
    @ApiModelProperty("扣减补贴")
    private BigDecimal deductionOfSubsidies=new BigDecimal(0);
    /** 实发合计 */
    @ApiModelProperty("实发合计")
    private Long totalPaidIn;

    /** 排序 */
    @ApiModelProperty("排序")
    private Long sort;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;

}
